<?php 
if ($_SESSION['niveauAuth']=='1'or $_SESSION['niveauAuth']=='3' or $_SESSION['niveauAuth']=='4'or $_SESSION['niveauAuth']=='7' or $_SESSION['niveauAuth']=='8') {
/**
 * Controleur permettant d'ajouter une ligne à la commande
 */
require_once('dao/Dao.php');
require_once('dao/OffreAchatOptionFixeDao.php');
require_once('dao/OffreVenteOptionFixeDao.php');
require_once('dao/OffreFixeDao.php');
require_once('dao/OffreAchatFixeDao.php');
require_once('dao/OffreVoipDao.php');
require_once('dao/CommandeDao.php');


if(isset($_GET['id_forfait']))
{	
	//Récupération du forfait choisi
	$id_forfait = $_GET['id_forfait'];
	
	//Détail du forfait
	$forfait = OffreFixeDao::searchById($id_forfait);
	
	$jours = $forfait[0]['jours'];
	$horaires = $forfait[0]['horaires'];
	$fixe = $forfait[0]['fixe'];
	$mobile = $forfait[0]['mobile'];
	$type = $forfait[0]['type'];
	$international = $forfait[0]['international'];

	//pour lister les options
	$tab_options_incluses = explode(",",$forfait[0]['options_incluses']);
	foreach($tab_options_incluses as $key => $option)
	{
		//recupère le detail de l'option comprise et l'ajoute au tableau
		$detail_option_incluse = OffreVenteOptionFixeDao::searchById($option);
		$options_incluses[] = $detail_option_incluse;
		
		//recupère le detail de l'option d'achat pour les incompatibilités
		if($detail_option_incluse)
		{
			$detail_options_incompat = OffreAchatOptionFixeDao::searchById($detail_option_incluse[0]['id_ha']);
			$tab_options_incompat = explode(",",$detail_options_incompat[0]['incompatibilite']);
			foreach($tab_options_incompat as $key => $option)
			{
				$tab_liste_incompat[] = $option;
			}
		}else{
			$tab_liste_incompat = array();
		}
	}
	
	// Récupération de toutes les options + ajout du champs incompatibilité
	$tab_options = OffreVenteOptionFixeDao::getOptionType($type,$jours,$horaires,$fixe,$mobile,$international);
	
	foreach($tab_options as $key => $option)
	{
		$liste_options[] = $option['id'];
		$recup_incompat = OffreAchatOptionFixeDao::searchById($option['id_ha']);
		$tab_options[$key]['incompatibilite'] = $recup_incompat[0]['incompatibilite'];
	}

	//compare les tableau: retire les incompatibilités et déjà prises et réindexe
	$options_incompat = array_merge(array_diff($liste_options, $tab_options_incluses));
	$options_incompat = array_merge(array_diff($options_incompat, $tab_liste_incompat));
	 
//var_dump($options_incompat);	
}

	$commande = CommandeDao::findByCommandeId($_GET['commande']);
	$ligneCommande = CommandeDao::findLigneById($_GET['id']);
	
	//liste les options cochées pour la modif
	$options_ligne = CommandeDao::getOptionsFixeByNdi($_GET['commande'],$ligneCommande['ndi']);
	foreach($options_ligne as $option_ligne)
	{
		$tab_options_ligne[] = $option_ligne['offre'];
	}
	if(!$options_ligne){$tab_options_ligne = array();}
	

// Rendu de la page
echo $twig->render('liste-options-fixe.html',
		array(	'type' => $type,
				'options' => $tab_options,
				'options_incluses' => $options_incluses,
				'options_incompat' => $options_incompat,
				'options_ligne' => $options_ligne,
				'tab_options_ligne' => $tab_options_ligne,
				'message' => $message,
				'error' => $error));

}
else {
	redirect("home-admin");
}

